﻿//ToDo: перенести в Janus-Model, когда будет произведен переход на новый интерфейс сообщений

using System;
using System.Collections.Generic;

namespace Rsdn.Janus
{
    /// <summary>
    /// Сервис, предоставляющий текущие активные сообщения.
    /// </summary>
    public interface IActiveMessagesService
    {
        /// <summary>
        /// Должно принудительно вызывать обновление комманд 'имитируя' изменение сообщение
        /// Например при выделений всех сообщений в гриде команды должны 'пересчитаться', но сообщения фактически не изменились
        /// </summary>
        void UpdateMessageState();

        /// <summary>
        /// Активные сообщения.
        /// </summary>
        /// <value>The active messages.</value>
        IEnumerable<IMsg> ActiveMessages { get; }

        /// <summary>
        /// Возникает когда активные сообщения изменились.
        /// </summary>
        event EventHandler ActiveMessagesChanged;
    }
}